package converters;

import java.util.Iterator;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

import modelo.UnidadMedida;
import services.UnidadMedidaService;

@FacesConverter("unidadMedidaConverter")
public class UnidadMedidaConverter implements Converter {
	
	public Object getAsObject(FacesContext fc, UIComponent uic, String value) {
        if(value != null && value.trim().length() > 0) {
            UnidadMedidaService service = (UnidadMedidaService) fc.getExternalContext().getApplicationMap().get("unidadMedidaService");
//            return service.getListaUnidades().get(Integer.parseInt(value));
             Iterator<UnidadMedida> i=service.getListaUnidades().iterator();
             while (i.hasNext()) {
				UnidadMedida unidad = (UnidadMedida) i.next();
				if(unidad.getNombreUnidadMedida().compareTo(value)==0)
					return unidad;
			}
             return null;
        }
        else {
            return null;
        }
    }
 
    public String getAsString(FacesContext fc, UIComponent uic, Object object) {
        if(object != null) {
            return String.valueOf(((UnidadMedida) object).getNombreUnidadMedida());
        }
        else {
            return null;
        }
    } 

}
